home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-10-25 | 32.8 KB | 820 lines | [TEXT/ttxt] |
-
- Delphi Mac Digest Friday, 3 October 1986 Volume 2 : Issue 48
-
- Today's Topics:
- Windows (4 messages)
- PAGEMAKER support
- MacApp status ?
- Excel Question
- Keeper Plus
- Is there an HFS wizard in the house? (5 messages)
- HyperNet
- HyperDrive 2000 (4 messages)
- Hyper2000 vs. TurboCharger 2.0
- TOPS on HyperDrive 2000
- HyperDrive 2000 and MIDI (2 messages)
- DiskTimer Results
- MacPaint/Clipboard patch?
- DiskExpress vs. HyperDrive 20 (5 messages)
- new Apple IIgs
- RE: chinese word processor
- Report on LightspeedC 1.5
- -----------------------------------------------------------------------
-
- From: MACINTOUCH (13131)
- Subject: Windows
- Date: 27-SEP 16:20 Business Mac
-
-
- I got a chance to play with Windows on an IBM AT clone yesterday, killing
- -time
- at the local dealer's while they didn't get the HyperDrive fixed.
-
- It was running on a color graphics system, which looked to be fairly high
- resolution for color.
-
- Basically, I thought the system was rather disgusting in comparison to
- a Mac. Part of it was the color display, which was ugly and
- unreadable. Part of it was the response of the cursor and controls to
- the mouse. It felt a little like a fast car with poor handling
- characteristics. Part of it was user interface things where you had
- to go back to text, instead of having a graphic interface. This was
- true at the system level, with directories, and also at the
- application level, where most applications didn't support graphics at
- all. I found using the system confusing, partly because of different
- interface conventions and partly because there seemed to be no
- corollary to the Mac's filters which let you choose documents to open
- from a list of only appropriate types, not ALL files on the silly
- disk!
-
- Prices for an AT/hard disk/display combo are probably similar to a
- Mac/hard disk combo, but you'd never get me to trade. The day another
- system is BETTER is the day I will.
-
- Ric
-
- PS. Yes, it multi-tasks, and, yes, I'd like to see that on the Mac. It isn't
- enough.
-
- ------------------------------
-
- From: LOGICHACK (13264)
- Subject: RE: Windows (Re: Msg 13131)
- Date: 30-SEP 00:17 Business Mac
-
- Ric:
-
- Considering the rather primitive resources Microsoft had to work with,
- I'd say Windows is pretty awesome. I can't figure out why some
- enterprising soul hasn't written a Finder for it yet...
-
- Isn't the AT + EGA color setup much more expensive than a Mac+? I thought
- -the
- card and monitor were at least $600 to $1000 a peice. Also, Windows is
- -pretty
- sad without a high performance hard disk.
-
- Paul :)
-
- P.S.
-
- I absolutely concur: the day a better system appears is the day I switch.
-
- ------------------------------
-
- From: MACINTOUCH (13271)
- Subject: RE: Windows (Re: Msg 13267)
- Date: 30-SEP 01:22 Business Mac
-
- I didn't mean to imply that a _color_ AT was comparable in price to a Mac. I
- thought the color EGA stuff alone was about the price of a Mac Plus.
-
- or more.
-
- Ric
-
- ------------------------------
-
- From: MACINTOUCH (13340)
- Subject: RE: Windows (Re: Msg 13323)
- Date: 2-OCT-17:13: Business Mac
-
- Well, I got a look at an AT running Windows on the color graphics
- adapter thing today. Yeah, the resolution is a lot better. But I
- think after an hour or two, my eyes would be rather tired. It still
- doesn't seem to have the sharpness of the Mac screen. Give me a
- Radius for the same money.
-
- Ric
-
- ------------------------------
-
- From: MACMAG (13133)
- Subject: PAGEMAKER support
- Date: 27-SEP 16:26 Business Mac
-
- I am inquiring about Aldus's support. Here's the background:
-
- We purchased a few PageMakers some time ago. Around here they cost
- about $600 to $700. We did encounter many bugs and Aldus was unaware
- of them.
-
- It seems to me that when a company calls you back to help you out, you get
- -the
- impression of getting a good service... but it always turned out that they
- really couldn't help us at all.
-
- In fact it sometimes took 5 calls to them in order for them to admit
- that there was actually a bug in their software ( I am referring to
- the fact that you can't write a capital accented "A" properly... a
- constant thing in non-US countries) ....
-
- They also have the gull of asking you to pay $75 in order to get help (which
- never seems adequate). Sure it's nice that they call you back, but I get the
- impression they don't eeven know their own software.
-
- Has anyone experienced such a thing or it is only a freak nuclear accident
- -that
- everytime we call they never can seem to give us "straight" answers...
-
- Rich.
-
- ------------------------------
-
- From: ROWLAND (13137)
- Subject: MacApp status ?
- Date: 27-SEP 18:50 Programming
-
- Could some one brief me on the current status of MacApp - in
- particular with reference to TML version 2 ? I recently got
- Schmucker's book on Object-Oriented Programming for the Mac and
- haven't had so much fun since Abelson/Sussman's book.
-
- Mike Burns
-
- ------------------------------
-
- From: JEFFS (13145)
- Subject: Excel Question
- Date: 27-SEP 19:47 Business Mac
-
- Is it possible to "compute" an external reference? What I mean by
- this is that instead of hardcoding "=File1!A1" I want the "File1" name
- to be either a defined constant or the value of some cell. I tried
- defining a name to be "File1" but it kept using the defined name as
- the file name. I also tried writing a macro that concatenated the
- string "='File1'!A1" together but non of the Excel functions would
- "eval" that to be an external reference.
-
- Can it be done? It will save me LOTS of work if it can be done.
-
- Jeff
-
- ------------------------------
-
- From: MACINTOUCH (13178)
- Subject: Keeper Plus
- Date: 28-SEP 10:48 Business Mac
-
- Along with killing time looking at Windows the other day, I also spoke with
- Sherman Uchill, the owner of Sherman Howe computer stores in Boston.
- He had just seen a demo of Keeper Plus, now being sold by Reach
- Technologies (800-523-8392 or 512-280-1977 in TX) and he was very
- impressed with it. It's apparently a true file server along with a hard
- -disk,
- and he claimed that it was much faster than other AppleTalk networks
- he'd seen (he was pretty unhappy with Mac/Serve for a variety of reasons).
- He also said it was exceptionally easy to use.
-
- Keeper Plus seems to have the advantages of Mac/Serve's print spooling
- and backup utilities, along with a file server architecture partially
- based in hardware for performance. This one might be worth a look.
-
- Ric Ford
- "MacInTouch"
-
- ------------------------------
-
- From: BRUSSES (822)
- Subject: Is there an HFS wizard in the house?
- Date: 27-SEP 20:43 Programming Techniques
-
- In an application I've been working on, I want to have some of
- my "SFGetFile" calls do some additional filtering through the use of
- the optional filter procedure. However, I've currently run into a
- stumbling block. My procedure decides which files to select by
- scanning a table of entries, where each entry consists of a volume
- reference number and a filename. I obtain these entries from previous
- calls to SFGetFile. Since I'm using HFS, these reference numbers are
- apparently "working directory reference numbers".
-
- When my filter procedure is invoked, the parameter block
- passed to it contains an actual volume number instead of a working
- directory reference number. Needless to say, my procedure only works
- if the files I am attempting to filter out live in the root directory
- of the volume.
-
- In order to make things work properly, how do I make the
- translation from volume number to working directory number in
- Lightspeed C?
-
- Bob
-
- ------------------------------
-
- From: PEABO (823)
- Subject: RE: Is there an HFS wizard in the house? (Re: Msg 822)
- Date: 27-SEP 22:12 Programming Techniques
-
- You need to have (1) glue routines for HFS, which don't exist in the
- April release of LightspeedC, but which have been developed
- independently by Dave Berry (DWB) and posted in the database here (or
- perhaps in the MacSIG database under the topic Programming), and (2)
- an understanding of HFS, which you can get from the HFS Programmer's
- manual and a bunch of Tech Notes that pertain to the Standard File
- Package and access HFS catalogs. The Tech Notes are online here in
- the Developers' SIG database, if you don't have them. I think that
- you would be better off buying the HFS Programmer's Guide from Apple
- than downloading it here (it's huge) unless you are under a time
- constraint.
-
- If I am not mistaken, SFGetFIle returns the directory ID (a 32-bit number)
- -in a
- global variable in low core, and you can translate that into a WDRefNum by
- calling the right HFS File Manager function.
-
- peter
-
- ------------------------------
-
- From: DWB (827)
- Subject: RE: Is there an HFS wizard in the house? (Re: Msg 823)
- Date: 28-SEP 23:22 Programming Techniques
-
- Essentially, peter is correct. The dirID of the directory SF last
- loocked at is stored in the low memory variable, CurDirStore. It is
- the long at address 0x398. It is also valid while your filter routine
- is being called, (I think) and is definitely valid during event
- filtering. A dirID can be turned into a wdRefNum with OpenWD.
- GetCatInfo can be used to turn a wdRefNum into a folder name and
- dirID.
-
- Good luck, let me know if you need any more help.
-
-
- David
-
- ------------------------------
-
- From: BRECHER (828)
- Subject: RE: Is there an HFS wizard in the house? (Re: Msg 822)
- Date: 29-SEP 05:38 Programming Techniques
-
- A DirID (and vRefNum) can be used to make a new WD via OpenWD, but there is
- -no
- way to "look up" an existing WD via a DirID alone. Pack 3 creates new WDs to
- return to its caller.
-
- At the time you create your table, it would be better to translate the
- -WDRefNum
- from SFGetFile to a vRefNum by calling GetWDInfo (not GetCatInfo). It would
- -be
- even better still to also include the DirID (also returned by GetWDInfo) in
- -the
- table, to accommodate multiple files with the same name on the same volume.
-
- ------------------------------
-
- From: DWB (829)
- Subject: RE: Is there an HFS wizard in the house? (Re: Msg 828)
- Date: 29-SEP 21:59 Programming Techniques
-
- OpenWD will return an existing wdRefNum instead of creating a new one if one
- exists with the proper dirID and WDProcID. Most applications use 0 for the
- WDProcID, while SF uses something else. I forget exactly what it is but it's
- talked about in one of the Tech Notes. Probably the best way to uniquely
- identify a file is the triplet <vRefNum,dirID,name>. While we're at it, the
- quickest way to open a file or do any operation on it by name is to use the
- dirID and the name. That combination can be looked up directly in the
- -catalog
- file. Anything else will have to go through at least one translation along
- -the
- way. The worst possible way to perform a named operation on a file is via an
- absolute path name. Each component of the path has to be separately looked
- -up
- in the catalog file.
-
- David
-
- ------------------------------
-
- From: MACINTOUCH (13257)
- Subject: HyperNet
- Date: 29-SEP 22:48 Business Mac
-
- There are two crucial things about HyperNet that I think people might
- want to know about. The first is that it only supports MFS volumes!
- A file-server client cannot access the file-server host's HFS volumes.
- The second limitation is that HyperNet permits only _internal_
- HyperDrives to act as hosts. This means that even the HyperDrive
- FX/20 external will not run HyperNet in host mode.
-
- There are some advantages to HyperNet that make it a _possible_ alternative
- -to
- TOPS, but these will take some more exploring. Stay tuned.
-
-
- Ric
- "MacInTouch"
-
- ------------------------------
-
- From: MACINTOUCH (13258)
- Subject: HyperDrive 2000
- Date: 29-SEP 22:51 Business Mac
-
- The Hyper2000 (Mac Plus version) is working rather well. I've tried a
- variety of Telecomm. and also audio programs with it, as well as many
- other, and haven't encountered significant compatibility problems. It
- can be quite fast, especially using RAM disks or cache. One runs into
- configuration problems trying to use it with an external SCSI drive,
- however. It becomes impossible to auto-mount drawers (the SCSI drive
- boots first, and becomes the startup drive, and must have had
- HyperInstall run on it), and the RAM/cache is no longer configurable.
- While the RAM disk contents remain across SCSI-startup boots, they
- disappear if you then boot from the internal disk.
-
- Ric
-
- ------------------------------
-
- From: HSTARR (13299)
- Subject: RE: HyperDrive 2000 (Re: Msg 13258)
- Date: 1-OCT-02:35: Business Mac
-
- If you remove the system and finder from the external SCSI drive(s) they will
- not boot, but be available on the Hyper-2000
-
- ------------------------------
-
- From: MACINTOUCH (13307)
- Subject: RE: HyperDrive 2000 (Re: Msg 13299)
- Date: 1-OCT-12:23: Business Mac
-
- Harry,
- Thanks for the tip! You're right of course -- don't know why I didn't think
- of trying that. The other thing I discovered is that you can run the
- FX Manager application from the Hyper to mount the FX/20. The FX Manager
- seems like a neat little application. It's also the means of setting the
- SCSI address for the FX. Interesting. It really _is_ done all by software.
-
- Ric
-
- PS The FX/20 external Hyper is _externally_ terminated, so you have to
- have the terminator along with your SCSI-Mac cable. All together though,
- the FX/20 is friendly to other SCSI devices connected to the same Mac becuase
- of the external termination and address selection ability... something we've
- missed on other drives.
-
- ------------------------------
-
- From: HSTARR (13313)
- Subject: RE: HyperDrive 2000 (Re: Msg 13307)
- Date: 1-OCT-23:09: Business Mac
-
- Ric, Unfortunately, GCC have written their own SCSI manager, which replaces
- -the
- one in the Apple roms. The result is that the FX20 WON'T WORK on a Prodigy 4.
-
- And while on the subject -- GCC haven't returned my calls regarding
- this problem. Oh yes, they are very polite -- the Fx20 Project manager
- is always in a meeting, and he WILL ring back. I often wonder why I
- have this misplaced sense of loyalty to that bunch of hackers!!! --
- Harry
-
- ------------------------------
-
- From: MACINTOUCH (13263)
- Subject: Hyper2000 vs. TurboCharger 2.0
- Date: 29-SEP 23:43 Bugs & Features
-
- Yes, I know it's an odd thing to do, but, I _like_ TurboCharger. Altho the
- Hyper2000 has its own cache, I tried to use Turbo with it. A strange bug
- -shows
- up: an ID=02 whenever you access a floppy disk. Otherwise it seems OK.
-
- Ric
-
- ------------------------------
-
- From: MACINTOUCH (13272)
- Subject: TOPS on HyperDrive 2000
- Date: 30-SEP 01:26 Business Mac
-
- Well, _this_ HyperDrive 2000 is running TOPS fine. It's running over to a
- Hyper20 512E and saved me a lot of aggravation by letting me copy 10MB of
- -files
- from an _HFS_ volume over to the other Mac. (Hyper2000 is in a Mac Plus).
-
- The only glitch, which I haven't completely figured out, is that you
- -sometimes
- have to Set Startup to the Start TOPS application (as described in the TOPS
- docs).
-
- Ric
-
- ------------------------------
-
- From: MACINTOUCH (13274)
- Subject: HyperDrive 2000 and MIDI
- Date: 30-SEP 02:01 Business Mac
-
- Looking for possible bugs, I hooked up the Hyper2000 Plus to a MIDI synth (
- thanks to Thunderware for making it possible) and the sucker seemed to work
- fine.
-
- Ric
-
- ------------------------------
-
- From: LOGICHACK (13324)
- Subject: RE: HyperDrive 2000 and MIDI (Re: Msg 13274)
- Date: 2-OCT-00:45: Business Mac
-
- Ric:
-
- I'm kinda curious about the performance of the Hyper 2000 compared to
- the 3 to 1 TouchBoard from Human Touch. Any info there?
-
- Paul :)
-
- ------------------------------
-
- From: BRECHER (13277)
- Subject: DiskTimer Results
- Date: 30-SEP 03:08 Hardware & Peripherals
-
- These are reported results from the DiskTimer program as of Sept. 29, 1986.
- DiskTimer measures performance on large (32KB) data transfers and on access
- time (seeking, head movement). The results are independent of the file
- -system,
- amount of free space, System and Finder versions, etc. There is no direct
- translation of these results to perceived performance in ordinary Mac usage.
-
- Multiple results from the same drive by the same submittor which vary by not
- more than 5% have been combined into one report by taking the best result
- for each of the three tests. Where three or more reports from different
- submittors on the same drive were available, I have omitted those having
- results on all three tests which fell between the best and worst shown below
- for that drive.
-
- Additional reports are welcome on hard disks not shown below or those which
- have only one report so far. Please disconnect Appletalk or other networks
- -for
- the test, since network activity generates interrupts that temporarily
- -suspend
- execution of the disk driver software.
-
- ----- time in seconds -----
- 100 32KB 100 32KB 80 1MB
- Model, Vendor [Note] Reads Writes Seeks Reported by
- --------------------- -------- -------- ------ ------------
- Bernoulli Box 10+10 SCSI, Iomega 26.4 26.5 3.7 Netman,
- -MacInTouch
- DataFrame 20, SuperMac 33.6 33.5 6.9 Robert Wiggins
- DataFrame 20, SuperMac 33.6 33.3 7.1 RONB/Delphi
- DataFrame 20, SuperMac [1] 29.0 29.1 4.2 DWB/Delphi
- DataFrame 40, SuperMac 13.4 13.7 3.8 Norman Fong
- Easy Drive 40MB, DC Systems [2] 56.4 59.5 3.7 Tim Smith
- Easy Drive 40MB, DC Systems [3] 18.2 42.3 3.7 Tim Smith
- Easy Drive 40MB, DC Systems [4] 24.2 24.4 3.6 Tim Smith
- Hard Disk 20, Apple 115.6 130.9 6.1 Steve Ellett
- Hard Disk 20, Apple 162.5 166.7 6.1 Robert Wiggins
- HD20SC, Apple (SCSI) 20.5 20.5 3.8 Norman Fong
- HD20SC, Apple (SCSI) 20.5 20.6 3.9 P. Williams,
- -Apple
- HyperDrive 10 (64K ROMs), GCC 132.1* 131.8* 5.4** Harry Conover
- HyperDrive 10 (64K ROMs), GCC 25.1 25.1 7.8** L. Randy Lee
- HyperDrive 20 (64K ROMs), GCC 26.5 25.0 2.9 Steve Ellett
- HyperDrive 2000, GCC 14.8 12.9 2.9 Harry Starr
- HyperDrive FX20 (SCSI), GCC 20.5 30.5 3.8 Harry Starr
- LoDOWN 20MB, LoDOWN 16.5 18.2 4.0 David Dunham
- LoDOWN 20MB, LoDOWN 16.6 16.9 3.8 Steve Ellett
- LoDOWN 20MB, LoDOWN 18.4 18.3 3.9 Michael
- -Klickstein
- LoDOWN 20MB, LoDOWN 16.5 17.0 3.5 Bill Steinberg
- MacBottom (serial port), PCPC 68.0 112.8 9.1 Steve Ellett
- MacBottom (serial port), PCPC 68.8 113.6 9.3 Robert Hafer, BCS
- MacBottom HD21 (SCSI), PCPC 21.4 21.6 4.9 Steve Ellett
- MacBottom HD21 (SCSI), PCPC 21.7 21.6 4.8 Bill Steinberg
- MacDrive, Tecmar 100.2 111.3 5.9 Chip Nicolais
- Magic 20, Rabbit Industries 18.4 42.8 3.8 Larry Halff
- MicahDrive 20 AT, MICAH 8.2 8.5 8.2 Rob Hahn
- MicahDrive 20 AT, MICAH 8.2 8.2 7.2 Ted May
- OverDrive 20/Prodigy 4, Levco 51.4* 142.9* 4.7 Harry Starr
- Photon 20, Warp Nine Engineering 23.4 28.7 3.9 Duane Williams
- ProApp20, ProApp 13.3 24.0 3.3 L. Randy Lee
- S-20+, Peachtree Technology, Inc. 21.6 21.6 4.9 L. Randy Lee
-
- note 1: 512E with Levco SCSI add-on and MonsterMac RAM upgrade
- note 2: 1:1 interleave (as shipped)
- note 3: 3:1 interleave
- note 4: 4:1 interleave
-
- * This result appears anomalous; it should not be taken seriously pending
- some explanation of what might be the cause, as it diverges widely from
- other tests of this model and/or experience in its use.
-
- ** On HyperDrives, the seek test provides meaningful results only when run
- from a drawer which is contiguous for more than 1MB. Whether this was
- the case for these results is not known, but the results suggest it
- was not the case.
-
- ------------------------------
-
- From: MACINTOUCH (13278)
- Subject: MacPaint/Clipboard patch?
- Date: 30-SEP 16:23 Bugs & Features
-
- Does anyone have a (Fedit) _patch_ to work around MacPaint's problems with
- finding the Clipboard in HFS volumes??
-
- Ric
-
- ------------------------------
-
- From: MACINTOUCH (13279)
- Subject: DiskExpress vs. HyperDrive 20
- Date: 30-SEP 16:26 Bugs & Features
-
- I made a real mess out of a Startup drawer by setting the default to a
- different drawer and running DiskExpress on Startup from the other
- drawer. All the files got trashed, not just the System or Finder,
- although they sort of _looked_ OK. I don't know what went wrong, but
- I'm not anxious to spend more time on more "experimenting" Running
- DiskExpress on the HFS non-Startup drawer seemed to go OK.
-
- Ric Ford
-
- ------------------------------
-
- From: HSTARR (13300)
- Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13279)
- Date: 1-OCT-02:39: Bugs & Features
-
- Use Hyper tools instead -- it is safer.
-
- ------------------------------
-
- From: MACINTOUCH (13308)
- Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13300)
- Date: 1-OCT-12:24: Bugs & Features
-
- The thing about DiskExpress is that it allows you to _really_ optimize
- the disk, separating applications and data and placing them where they
- belong for best performance.
-
- Ric
-
- ------------------------------
-
- From: HSTARR (13314)
- Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13308)
- Date: 1-OCT-23:12: Bugs & Features
-
- This really only applies to a normal SCSI of other drive. With the
- Drawer scheme used on the Hypers (and I guess on the MICAH's), there
- is an extra layer of fragmentation we have no control over.
- DiskExpress's optimization cannot guarantee physical drive
- optimization.
-
- However, it can reduce file processor overhead by reducing the allocation
- -clump
- numbers, possibly reducing the number of C-File lookups to 0.
-
- -- Harry
-
- ------------------------------
-
- From: BRECHER (13333)
- Subject: RE: DiskExpress vs. HyperDrive 20 (Re: Msg 13314)
- Date: 2-OCT-08:14: Bugs & Features
-
- MicahDrive subvolumes are contiguous; HyperDrive drawers are not necessarily
- contiguous. The drawers scheme provides more flexibility, at the expense of
- complexity.
-
- Why did GCC bypass the SCSI Manager? FX20 DiskTimer results do not
- indicate the reason for doing so.
-
- ------------------------------
-
- From: PIZZAMAN (13284)
- Subject: new Apple IIgs
- Date: 30-SEP 20:38 Hardware & Peripherals
-
- Note on the Apple IIgs. Got a chance to play with one today at my Apple
- -dealer.
- Was very impressed with the color and sound, but was pretty dissapointed in
- -the
- user interface. The little gem had two external disk drives, and didn't seem
- -to
- recognise anything that was placed in them. You had to hold down three
- different keys in order to boot what was in the drive, and it wasn't very
- intuitive. In fact, it didn't even work the first two times the dealer tried
- -to
- boot the demo's.
-
- The second thing that was immediately obvious was the slowness to do
- anything. In the color macpaint facsimile, it took what seemed like
- minutes to load in the different demo scenes that it had. Very
- slooooow!
-
- The music demo was pretty impressive with the Bose speakers. However,
- again, the user interface was for the birds. You couldn't easily
- figure out how to get the disks ejected, and the icons were totally
- insane. Couldn't tell what any of them were for. You get pretty
- spoiled with the Mac, what with every program working under the same
- guidelines, including the simple task of quiting the program and
- ejecting the disk.
-
- I don't think the Mac has anything to worry about, unless you want to sit in
- front of the screen going ga-ga over the pretty color pictures.
-
-
- Barry
-
- ------------------------------
-
- From: BMUG (13285)
- Subject: RE: chinese word processor
- Date: 30-SEP 21:18 Network Digests
-
- TO: AEBERSOL%WILLIAMS.BITNET@WISCVM.WISC.EDU Subject: chinese word processor
-
- Dennis -
-
- At last week's BMUG meeting, we saw a demo of FEIMA, a Chinese word
- processor. It appeared to be TERRIFIC for entry of Chinese text.
- I'll UL a file containing some pictures as soon as I can find it.
-
- -- Raines Cohen
- SYSOP, BMUG BBS
-
- ------------------------------
-
- From: PEABO (13318)
- Subject: Report on LightspeedC 1.5
- Date: 1-OCT-23:42: Programming
-
- The Boston Computer Society MacTechGrp had as its feature presentation
- -tonight
- the public premiere of LightspeedC version 1.5. Michael Kahl of THINK
- Technologies, the author of the compiler, presented the product on the
- -6-month
- anniversary of the first shipments of version 1.0 There are many
- -enhancements
- in version 1.5, and I'll mention them in the same order as they were
- demonstrated.
-
- First, many people have noted that the most time-consuming part of a
- test cycle seems to be relaunching Lightspeed after quitting the
- application. Version 1.5 provides instant "relaunch" by sensing when
- it has been initiated under Switcher and using Switcher to launch the
- program being tested in another partition. This means returning to
- LightspeedC takes place without noticeable delay when the application
- exits, and that if the application being developed is working well
- enough to run its event loop reliably, that you can switch back and
- forth betweeh LSC and the application at will if you need to look at
- source code. The audience got quite a charge out of seeing
- LightspeedC running a development copy of LightspeedC, which in turn
- was running a small test application! (It requires quite a bit of
- memory to do that though, since it means having two copies of LSC plus
- the application in memory at once ... use at least one meg.)
-
- Next we saw a demo of the DA Shell, which is a small program that is
- automatically launched for testing Desk Accessories. It seemed to work very
- well (a similar program is used by Lightspeed Pascal to test DAs). One nice
- feature that was included is a Relaunch item on the menu of DA Shell, good
- -for
- testing "goodbye kiss" logic.
-
- The Editor has a large number of nifty new features, many of them based upon
- taking advantage of the integrated edit-compile-link environment. Undo
- -works!
- Mac Plus cursor keys work, with variations based on using shift and/or
- -option.
- Syntactic checking is enhanced by use of a Balance command that hightlights
- -the
- portion of text that contains a balanced pair of parentheses, brackets, or
- braces. Combined with the Find command (on the { character) it can be used
- -to
- step through your program text one function at a time, for example.
-
- Doing an option-double-click on the name of a globally defined variable
- -causes
- the file containing the definition of that variable to open and the search
- function to be initiated for it. This uses information known to the linker
- -for
- determining which module to open.
-
- Option-click on a source window title bar causes a scrolling menu of
- -filenames
- included in the module to drop down from the title bar so you can open an
- included file without losing your insertion point (a problem with the Open
- Selection menu item of the original release).
-
- Zoom boxes are implemented on all windows, and there is a new Windows
- menu containing commands for bringing windows to the front (command
- key equivalents are Cmd-0 for the Project Window and Cmd-1 though N
- for the source windows). The Windows menu also contains clean up,
- zoom, close all, and save all. The Project window has some
- standard-file-like keyboard navigation tricks. Typing the first few
- characters of a module name selects the first occurence of a matching
- name, and Tab alternates among all names matching. Cursor arrows go
- up and down in the list, and Return opens the module for editing.
-
- HFS support has greatly improved. Where the original version LSC would
- -search
- in only 3 HFS directories (the one containing the source file, then the one
- containing the Project file, and finally the one containing the compiler),
- -the
- new version treats the subtrees anchored at those directories as the set of
- places to look. When a file is first found in this fashion, its directory
- location is remembered in the project so that it can be found more quickly
- -the
- next time. If you subsequently move it, the tree search will be repeated to
- find it again. If you move a large number of files, or transport a whole
- project to another directory structure, you can easily rebuild LSC's
- recollection of the location of files by using the Use Disk option in Make to
- find all the files.
-
- You can also shield subtrees which would ordinarily be included in the
- search by placing them in directories wholes names begin and end with
- parentheses (like "(backup)" for example).
-
- The full support of Inside Mac vol 4 HFS libraries, included
- definitions, and glue routines is now standard, and the UNIX-like
- stdio package has been modified to work in a Macish windowed
- environment in lieu of the white screen.
-
- The compiler's code generator has been improved by 4-8% space efficiency
- -though
- the use of short branches. All backward branches are shortened if possible
- -and
- the great majority of forward branches are as well.
-
- The compiler now supports inline assembly in a particularly slick
- fashion. Rather than just emiting assembly code in between #asm ...
- #endasm as most compilers do that have separate assembly phases, LSC
- integrates the semantics of assembly language into the syntax of C.
- The construct is asm {...} in the form of a block that can be used
- anywhere a C statement can, and the assembler code can reference
- global variables, local variables, function parameters, and even
- offsets into structures (using the macro
- OFFSET(structure-tag,field-name) in place of the byte offset in an
- instruction). Macro substitution uses normal C language preprocessor
- macros. We didn't see enough of the code to tell if there were any
- major syntactic differences from normal assembly language code, but
- there are a few nice things, like being able to omit the reference to
- A4/5 or A6 if the compiler sees the name of a global or
- local/parameter. You can even reference register variables by using
- the name of the variable! You can write your own glue routines by
- using the trapnames for register-based traps. A dc instruction is
- available for imbedding constants into the code segments. Jump and
- goto statements can be used to transfer between sections of C code and
- sections of assembler code. Break, continue, and return act as they
- would if they were used outside the asm block. Either C-like or
- assembler-like comment conventions can be used.
-
- The compiler also interprets and enforces function prototypes like
- extern pascal Handle abcfunc(short, char **, Handle);
- and checks calls to the function declared as a prototype for number of
- arguments, type mismatch, and need for coercion (i.e., longs and
- shorts will be coerced appropriately, so you don't wind up with
- strange errors in argument list offsets). A function prototype can
- also specify a tail of zero or more unchecked arguments, as is needed
- by the stdio routines fprintf, etc. The declaration void * is
- accepted as a pointer of unspecified and universally compatible type.
- Functions defined in a module which contains a previous prototype
- declaration get validated to be sure that the definition matches the
- declaration.
-
- There is not any way of emiting a prototype file of all the defined
- functions in your module though. You have to do that manually.
-
- The Options dialog (which used to be a separate menu item) now has
- some options to control whether protypes are required or not and
- whether type checking of pointers is done. While there are no
- prototype definitions for the Mac Toolbox, the validation used by the
- original LSC version still applies, and in addition the stdio
- functions have had prototype declarations included in include files.
-
- LightspeedC 1.5 is being shipped to selected beta test sites next
- week, and with any luck will be available to registered owners around
- the end of October. The upgrade is FREE to all registered owners of
- LightspeedC, in appreciation for their early support.
-
- peter
-
- ------------------------------